POV-Ray : Newsgroups : povray.off-topic : Linear regression : Re: Code regression Server Time
4 Sep 2024 07:20:22 EDT (-0400)
  Re: Code regression  
From: Invisible
Date: 9 Jun 2010 05:27:32
Message: <4c0f5e84$1@news.povray.org>
Invisible wrote:

> We'll see if I can deduce anything further...

Public Function FACTLN(N)
   Dim A(1 To 100) As Double
   Dim I As Integer
   For I = 1 To 100
     A(I) = -100
   Next I
   If N < 0 Then End
   If N <= 99 Then
     If A(N + 1) < 0 Then A(N + 1) = GAMMALN(N + 1)
     FACTLN = A(N + 1)
   Else
     FACTLN = GAMMALN(N + 1)
   End If
End Function

Uh... anybody want to venture a guess is to how this is different from

Public Function FACTLN(N)
   IF N < 0 Then End
   FACTLN = GAMMALN(N + 1)
End Function

 From what I can tell, it creates an array, initialises it with negative 
values, then checks to see if a given cell is negative (which it will 
be, 100% of the time), and if so, calculates a value, puts it into the 
array, and returns it.

It _looks like_ it's trying to cache previously-computed results. Except 
that the array gets recreated each time the function is called. (Unless 
I've missed something.) And even if it doesn't, each call to the 
function zeros out the whole array anyway! WTF?


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.